brewとpythonとgcc/g++の話
私はpythonの環境はpyenv
に任せています。
そんなに頻繁に切り替える必要もないため、予備として複数のバージョンを用意する程度にしか使っていません。
所用でpy_entitymatching
という名寄せを行うパッケージを扱う必要があり、pip install
することに。
すると怒涛のエラー。
そこで私は何を考えたか、エラー文も読むことなく、
「バージョン他にもあるし他のバージョンで試してみよう!」と考え、全滅しました。
全てのバージョンでinstallに失敗したのですが、全てのエラー文が違います。
読むのが大儀になった私は、一度別の環境でinstallに成功したこともあって、pyenv install
で新しくまっさらな状態からinstallすれば成功するはずと考え、そして失敗しました。
五里霧中となった私は、とりあえず就寝し、朝になってエラー文を読んでみました。
そのエラー文は奇しくも初めのinstall error時に出力されたエラーでした。
すると何やらgcc
とg++
が失敗している様子です。
そこでローカルのgcc
/g++
のバージョンを確認するも別段古くはなさそう。
しかし物は試しとbrew upgrade gcc g++
とするとすでにアップグレード済みだとbrew
に呆れられます。
そううまい話はないかと、気落ちしたのですが、brew
でinstallしたgcc
のバージョンがgcc -v
と食い違っていることに気づきます。どうも/usr/bin/
以下のgcc
をみているらしく、
「あー、PATHの優先順序を書き換えちゃったのか」
とひと段落。
/usr/local/bin/
を優先にし、シンボリックリンクを貼り、再度試すと動きました。
pyenvごめんよ。ずっと君のせいだと思ってた。